package com.css.fxfzypg.modules.baseData.repository;

import com.css.fxfzypg.modules.baseData.queryParams.HisPrQueryParams;
import com.css.fxfzypg.modules.baseData.entity.HisPrEntity;
import com.css.fxfzypg.modules.baseData.vo.HisPrExcelVo;
import com.css.fxfzypg.modules.similitudeAnalyse.entity.RealEarthquakeEntity;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;
import java.util.Map;

/**
 * @author y1fan
 * @create 2022-08-22 10:52
 */
public interface HisPrRepository {


    boolean saveHisPr(HisPrEntity hisPrEntity);

    HisPrEntity getHisPrById(String id);

    boolean updateHisPr(HisPrEntity hisPrEntity);

    Map<String,Object> getAllHisPrByParams(HisPrQueryParams queryParams, String provinceId);

    Map<String,Object> getAllHisPrByParams(HisPrQueryParams queryParams);

    boolean deleteHisPr(List<String> ids, Timestamp currentTimestamp,String userID);

    List<HisPrEntity> exportExcel();

    //void importExcel(List<HisPrEntity> hisPrEntities);

    List<HisPrEntity> selectSimilarity(RealEarthquakeEntity realEarthquake);

    HisPrExcelVo getHisPrVoById(String id);

    List<HisPrExcelVo> getNoPageHisPrByParams(HisPrQueryParams queryParams);

    String getProvinceName(String param);

    List<HisPrEntity> getDataByLongitudeAndLatitude(String epiLon, String epiLat, BigDecimal o, String m);

    HisPrEntity getDateById(String hisPrId);

    Integer countByCounty(String name);

    Integer countByCity(String name);

    Integer countByProvince(String name);

    Integer countByProvinceAndYear(String province, String taskYear);
}
